import router from './index.js'

import store from '@/store'
// 从 vuex 中获取token
// console.log('store.state.tokenInfo.token', store.state.tokenInfo.token)

// 路由守卫（在路由变化时，这个回调函数就会执行）
router.beforeEach(function (to, from, next) {
  /*
      next: 是一个函数，用来自定义路由的跳转
            (1) next() 表示放行，让路由从from进入到to
            (2) next(其它路由),表示不去to，而进入指定的路由
     */
  next()
  // 如果要去到的页面(/user, /user/chat, /user/profile) 是需要验证身份的，则先检查一下
  // startsWith检查字符串是否以某个子串开头
  // 项目中所有需要权限的页面都应该写在下面
  if (to.path === '/user' || to.path === '/user/profile') {
    // 这里需要先登陆才能访问
    if (store.state.tokenInfo.token) {
      next() // 正常放行
    } else {
      // next(登陆页)
      // 跳回login，并指定从login登陆成功之后  应该进入的页面backto
      // fullPath:是路由对象的一个属性值，与path的区别在于，fullPath包含查询字符串的内容，它的信息更全一些
      // query:是一个路由对象的特殊属性，它用来指定当前查询字符串
      next('/login?backto=' + to.fullPath)
      // next({
      //   path: '/login',
      //   query: {
      //     backto: to.fullPath
      //   }
      // })
    }
  } else {
    next()
  }
})
export default router
